Class invariants as abstract interpretation of trace semantics
نویسنده
چکیده
We present a generic framework for the automatic and modular inference of sound class invariants for class-based object-oriented languages.We define a trace-based semantics for classeswhich considers all possible orderings, with all possible arguments, of invocations of all the methods of a class. We prove a correspondence theorem between such a semantics and a generic, trace-based, semantics for complete object-oriented programs. We express state-based class invariants in a fixpoint form by considering an abstraction of the class semantics, and we show how class invariants can be automatically inferred exploiting a static analysis of the methods. Furthermore, we address the problem of inferring a subclass invariant without accessing to the parent code, but just to its invariant. © 2005 Published by Elsevier Ltd.
منابع مشابه
Unveiling metamorphism by abstract interpretation of code properties
a r t i c l e i n f o a b s t r a c t Abstract interpretation Program semantics Metamorphic malware detection Self-modifying programs Metamorphic code includes self-modifying semantics-preserving transformations to exploit code diversification. The impact of metamorphism is growing in security and code protection technologies, both for preventing malicious host attacks, e.g., in software divers...
متن کاملNew Improvement in Interpretation of Gravity Gradient Tensor Data Using Eigenvalues and Invariants: An Application to Blatchford Lake, Northern Canada
Recently, interpretation of causative sources using components of the gravity gradient tensor (GGT) has had a rapid progress. Assuming N as the structural index, components of the gravity vector and gravity gradient tensor have a homogeneity degree of -N and - (N+1), respectively. In this paper, it is shown that the eigenvalues, the first and the second rotational invariants of the GGT (I1 and ...
متن کاملFrom Trace Sets to Modal-Transition Systems by Stepwise Abstract Interpretation
Following and expanding upon the philosophy set down by Cousot and Cousot, this tutorial paper uses stepwise abstract interpretation to transform a system’s naive trace-set semantics into a format that is readily analyzable by temporal logic. The abstraction interpretations first transform a concrete trace-set semantics, where the traces are characterized by a state-transition relation, into an...
متن کاملFocused Static Analyses for the Java Bytecode
Flow sensitive static analyses are often more precise than their flow insensitive counterparts, but much more expensive. To cope with this problem, we defined, some years ago, a watchpoint semantics as an abstract interpretation of a trace semantics. It is not itself a trace semantics, but it lets us specify flow and control sensitive analyses which are focused on a given set of program points ...
متن کاملTemporal Logic Veriication of Lotos Speciications Using Abstract Interpretation
In 6, 5] a technique for the automatic derivation of an Abstract Interpretation Domain for (the Abstract Data Types part) of LOTOS speciications has been proposed. In this paper we present an abstract model of process semantics, Abstract Trace Semantics, which is built on top of the above mentioned Abstract Interpretation Domain and which we use as a model for an abstract interpretation of a li...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Computer Languages, Systems & Structures
دوره 35 شماره
صفحات -
تاریخ انتشار 2009